Management of entities representing different types of resources (such as software applications or hardware devices) is a critical issue in a data processing system, especially a computer network. This problem is particular acute for resources that have a high level of complexity or are distributed across a large number of installations.
Several technologies have been proposed in the last years for implementing a resource management infrastructure. For example, the Common Interface Model (CIM) is a standard specification that abstracts and describes the resources to be managed using an object-oriented paradigm. The CIM model may be supported by different frameworks, which provide a uniform way for management applications to access the managed objects. Each framework (also known as CIM Object Manager, or CIMOM) exploits providers of dynamic management services (each one acting as an intermediary between the framework and associated managed objects).
Particularly, the Windows Management Instrumentation (WMI) is the implementation of the CIM model proposed by Microsoft Corporation and running on the Windows operating system. In the WMI architecture, the CIM providers must be implemented as objects conforming to the Common Object Model (COM) specification and must comply with a particular WMI provider interface (named “IWbemServices”).
The COM objects are natively supported only on the Windows operating system. This is a major problem, which strongly limits the integration of non-compliant providers available for different operative environments into the WMI architecture. Moreover, this limits the ability to implement providers that can be used with frameworks running on different operating systems.